const koa = require('koa')
const router = require('koa-router')()

const app = new koa()

/*
    中间键 -- 简单的理解成就是用户在匹配路由的时候会做的一些操作叫做中间键
*/

/*
    应用级中间键
        应用级中间键会匹配所有的路由 包括不存在的路由 在后台服务器匹配这些路由之前都会先走到这里

        next()方法会向下匹配 当没有使用next方法的时候  服务器就会停止继续的路由匹配
            可以简单的理解next就是继续向后执行的意思
*/ 
app.use(async (ctx, next) => { 
    console.log(new Date())  //会打印出时间

    await next()  //next() 一定要添加 否则路由就会停止 不会继续向下匹配
})

router.get('/', async ctx => { 
    ctx.body = '起始页'  //页面中打印起始页
})

app.use(router.routes())
app.use(router.allowedMethods)

app.listen(666, () => { 
    console.log('Server is running on port 666')
})